Generally, a software application stores information in files that have a particular format. For many personal productivity applications, such as word processors, spreadsheet applications, presentation applications, etc., these files are known as documents, and are stored in non-volatile computer memory, such as a local hard disk, a network hard disk, etc. When a user modifies the content or formatting of a document, the software application adjusts the presentation of the document on the user's display to reflect those changes. Documents that store and present information in this manner are known as reflowable documents. Reflowable document formats include DOCX, HTML, XML, etc.
When the user prints the document, the software application or utility program converts the reflowable document into a fixed page layout document that defines the location and appearance of the document's content on the printed page. The fixed page layout document is processed and sent to the printer by a printer driver. Fixed page layout formats include PDF, XPS, OpenXPS, etc. Fixed page layout documents do not support reflow, and generally do not support significant editing by the user. Because semantic and structural information contained within a reflowable document may be lost after conversion to a fixed page layout format, further post processing or editing beyond viewing or printing becomes problematic.